﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PRJ_LDW_Eutoliso.AccountAdmin.Evento
{
    public partial class Edit : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                try
                {

                    string idEvento = Request.QueryString["Id"].Trim();

                    eutolisodbEntities1 context = new eutolisodbEntities1();

                    int id_Evento = Convert.ToInt32(idEvento);

                    var _query = (from ev in context.evento

                                  join c in context.cidade
                                  on ev.Cidade equals c.Id
                                  join ec in context.eventocategoria
                                  on ev.Categoria equals ec.Id

                                  where ev.Id == id_Evento

                                  select new
                                  {
                                      
                                      ev.Nome,
                                      ev.Datainicio,
                                      ev.Datafim,
                                      categoria = ec.Nome,
                                      ev.Imagem,
                                      ev.Video,
                                      ev.Descricao,
                                      cidade = c.Nome

                                  });


                    foreach (var Result in _query)
                    {
                                                                 
                        txtNome.Text = Result.Nome;
                        txtDate1.Text = Convert.ToString(Result.Datainicio);
                        txtDate2.Text = Convert.ToString(Result.Datafim);

                        ddlCategoria.SelectedValue = Result.categoria;
                        //ddlCidade.SelectedValue = Result.cidade;

                        Image1.ImageUrl = Result.Imagem.ToString();

                        txtxLinkVideo.Text = Result.Video;
                        txtDescricao.Text = Result.Descricao;

                        Image1.Width = 200;
                        Image1.Height = 200;
      
                    }


                }
                catch (Exception)
                {


                }

            }

        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("Home.aspx");
        }

        protected void btnInserir_Click(object sender, EventArgs e)
        {
            Editar();
        }

        private void Editar()
        { 
             try
            {

                string idEvento = Request.QueryString["Id"].Trim();

                

                int id_Evento = Convert.ToInt32(idEvento);

                using (eutolisodbEntities1 context = new eutolisodbEntities1())
                {
                    //evento evt = new evento();
                    cidade ci = new cidade();
                    eventocategoria ecat = new eventocategoria();

                    var _query = (from ev in context.evento

                                  join c in context.cidade
                                  on ev.Cidade equals c.Id
                                  join ec in context.eventocategoria
                                  on ev.Categoria equals ec.Id
                                  where ev.Id == id_Evento select ev).First();

                    var _categoria = context.eventocategoria.First(eca => eca.Id == _query.Categoria);

                    var _cidade = context.cidade.First(cd => cd.Id == _query.Cidade);

                    _query.Cidade = _cidade.Id;
                    _query.Categoria = _categoria.Id;

                    //_query.Cidade = Convert.ToInt32(ddlCidade.SelectedValue);
                    //_query.Categoria = Convert.ToInt32(ddlCategoria.SelectedValue);

                    if (FileUploadControl.HasFile)
                    {
                        try
                        {
                            if (FileUploadControl.PostedFile.ContentType == "~/Images/jpeg")
                            {
                                if (FileUploadControl.PostedFile.ContentLength < 102400)
                                {
                                    string filename = System.IO.Path.GetDirectoryName(FileUploadControl.FileName);
                                    FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
                                    StatusLabel.Text = filename;
                                }
                                else
                                    StatusLabel.Text = "Upload status: The file has to be less than 100 kb!";
                            }
                            else
                                StatusLabel.Text = "Upload status: Only JPEG files are accepted!";
                        }
                        catch (Exception ex)
                        {
                            StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
                        }
                    }

                   
                    
                    _query.Nome = txtNome.Text;
                    _query.Datainicio = Convert.ToDateTime(txtDate1.Text);
                    _query.Datafim = Convert.ToDateTime(txtDate2.Text);

                    //_query.Cidade = Convert.ToInt32(ddlCidade.DataValueField);
                    //_query.Categoria = Convert.ToInt32(ddlCategoria.DataValueField);

                    //ddlCategoria.SelectedValue = Convert.ToString(_categoria);
                    //ddlCidade.SelectedValue = Convert.ToString(_cidade);

                    //ddlCategoria.DataTextField = _query.Categoria.ToString();
                    //ddlCidade.DataTextField = _query.Cidade.ToString();

                    _cidade.Nome = ddlCidade.SelectedValue;
                    _categoria.Nome = ddlCategoria.SelectedValue;
                    
                    _query.Imagem = "~/Images/" + FileUploadControl.FileName;
                    _query.Video = txtxLinkVideo.Text;
                    _query.Descricao = txtDescricao.Text;                    
                    
                    context.SaveChanges();

                    Image1.ImageUrl = _query.Imagem;
                    Image1.Width = 200;
                    Image1.Height = 200;

                    lblMsg.Visible = true;                    
                }    

            }


            catch (Exception )
            {
             
                lblMsg.Visible = true;
                lblMsg.Text = "Ocorreu um problema ao editar o item.";
            }

            //Response.Redirect("Home.aspx");
        }
       
        }
    }
